From bd8523cbc7fd23bc271b480a377112b820566fd7 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 28 Aug 2018 16:26:38 +0100 Subject: [PATCH] test-webserver: Fix race condition If we rely on the background subshell to create the httpd-output file, and we are unlucky, then the "cp" invocation in the loop might execute before the file has been created, and fail. This appears to have happened on Debian's arm64 autobuilder, which failed with: Running web server: PYTHONUNBUFFERED=1 setsid python3 /<>/tests/http-utils-test-server.py 0 Web server pid: 13319 Waiting for web server (1/300)... cp: cannot stat '/var/tmp/tap-test.p1cxRN/httpd-output': No such file or directory Signed-off-by: Simon McVittie Gbp-Pq: Name test-webserver-Fix-race-condition.patch --- tests/test-webserver.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test-webserver.sh b/tests/test-webserver.sh index 4508537..6d10b01 100755 --- a/tests/test-webserver.sh +++ b/tests/test-webserver.sh @@ -8,6 +8,7 @@ test_tmpdir=$(pwd) [ "$dir" != "" ] && cd ${dir} echo "Running web server: PYTHONUNBUFFERED=1 setsid $cmd" >&2 +touch ${test_tmpdir}/httpd-output env PYTHONUNBUFFERED=1 setsid $cmd >${test_tmpdir}/httpd-output & child_pid=$! echo "Web server pid: $child_pid" >&2 -- 2.30.2